Embodiments in accordance with the present invention relate generally to the presence of a user, device, or client relative to a device, system, or network, and more particularly to inferring a current presence of a user.
“Presence” can be defined as the technology and/or information that provide for the location and identification of a device whenever that device, and/or a user of that device, is connected or patched in to a network. For example, a user of a cell phone can be considered to be “present” when connected to a network or communicating over a cellular network. A user of a PDA, cell phone, or computer can be considered to be present when transferring data over a wireless network, a user of a personal computer can be considered to be present when streaming music over an Internet connect, and so forth.
Presence is determined in multiple ways, but in general a principal publishes a presence document, as well as updates of the presence document, which can include information such as presence attributes and values. This publishing is typically done to a server on the network. A “principal” is an entity having an identity, and which is capable of providing consent and other data so that authenticated actions can be done on behalf of the principal. A principal can include, for example, an individual user, a group of individuals, a corporation, service enablers and/or applications, system entities, and other legal entities. Presence then is a transient state of a principal that can be used by other principals to make a decision in real-time about how to best communicate with the first principal. For example, if user A is subscribed to the presence of user B, and user B wants to communicate with user A at a given instant, user B can make a decision in real-time depending upon the presence information of user A. For example, user B can determine whether a web-conference can be started at that instant (e.g., if A is available), of if a web conference should be scheduled at a later time.
Others typically subscribe to the presence, or to certain attributes of the presence for some principals. When any of these presence attributes changes, the information is passed to the appropriate subscribers. In addition, filters or policies may apply, as may be set by parties such as the principal, an administrator, or the subscribers, for example, which filter and/or modify the set of attributes or updates that are received.
Various systems and communications networks are able to provide current presence information related to users of those systems and/or networks. Today, presence typically is available as part of a communication application such as instant messaging (IM), voice chat (e.g., SKYPE), video chats or Push to Talk over Cellular (PoC). For example, an IM client can detect presence based on keyboard activity or other such use. Similarly, a cellular or other telephone service can detect presence based on a condition of a telephone, such as a phone being “off the hook” in PBX or call center applications.
Determinations of presence are relatively instantaneous and made in real-time. Real-time presence collected about a user describes, for example: user-defined status as provided by the user (e.g., “on,” “available,” “busy,” etc.); registration, data, and call state that can be captured from the network; and application state such as the channel and/or device from which the presence was collected (e.g. Web, desktop, phone, or mobile device or channel). Presence knowledge can be desirable for a variety of different situations, such as an employer wishing to know if an employee is on the network, or a service attempting to determine whether a subscriber is connected to the network.
A problem with receiving real-time presence information, however, is that when the presence is captured by the network of a service provider, the network must expose this presence to the person, application, or entity requesting the presence information (i.e. presence subscribers). While services such as Parlay APIs or Parlay X Web services, according to a specification set forth by the multi-vendor consortium the Parlay Group, provide such presence information for subscribers, many service and network operators do not implement such a service, and even fewer expose or allow subscriptions to this information for third party service providers or enterprises.
It therefore is desirable to develop a way to obtain network presence information that does not require permission, access, or exposure from a network operator or service provider.